package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Job;
import com.ruoyi.system.domain.Seeker;

/**
 * 职位信息管理Service接口
 * 
 * @author ruoyi
 * @date 2024-05-22
 */
public interface IJobService 
{
    /**
     * 查询职位信息管理
     * 
     * @param jobId 职位信息管理主键
     * @return 职位信息管理
     */
    public Job selectJobByJobId(Long jobId);

    /**
     * 查询职位信息管理列表
     * 
     * @param job 职位信息管理
     * @return 职位信息管理集合
     */
    public List<Job> selectJobList(Job job);

    /**
     * 新增职位信息管理
     * 
     * @param job 职位信息管理
     * @return 结果
     */
    public int insertJob(Job job);

    /**
     * 修改职位信息管理
     * 
     * @param job 职位信息管理
     * @return 结果
     */
    public int updateJob(Job job);

    /**
     * 批量删除职位信息管理
     * 
     * @param jobIds 需要删除的职位信息管理主键集合
     * @return 结果
     */
    public int deleteJobByJobIds(Long[] jobIds);

    /**
     * 删除职位信息管理信息
     * 
     * @param jobId 职位信息管理主键
     * @return 结果
     */
    public int deleteJobByJobId(Long jobId);

    /**
     * seeker职位推荐算法排序
     */
    public List<Job> weightedRecommendation(Seeker seeker, List<Job> jobs, Map<String, Double> weights);
    public List<Job> selectRecommendedJobs(Seeker seeker) ;

        /**
     * 搜索结果职位推荐算法排序
     */
    public List<Job> weightedRecommendationBySearch(Job searchCriteria, List<Job> jobs, Map<String, Double> weights);
    public List<Job> SearchRecommendedJobs(Job searchCriteria) ;

}
